package main

import "fmt"

// 数组如何传参数（传递参数后相当于值拷贝）
func printArray(arr [4]int) {
	for index, value := range arr {
		fmt.Println(index, value)
	}
}

// 动态数组传递参数相当于传指针
func printArrayD(arr []int) {
	for _, value := range arr {
		fmt.Println(value)
	}
}

func main() {
	// 表示固定长度的数组
	var arr1 [10]int

	for i := 0; i < len(arr1); i++ {
		arr1[i] = i
		fmt.Println(arr1[i])
	}

	// 表示固定长度的数组，并初始化
	arr2 := [10]int{1, 2, 3, 4}
	for i := 0; i < len(arr2); i++ {
		fmt.Println(arr2[i])
	}

	// 定义动态数组
	arr3 := []int{1, 2, 3, 4}
	printArrayD(arr3)
}
